package com.xnew.entity.memberArchives;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonInclude;
import org.springframework.data.annotation.Transient;

import java.io.Serializable;
import java.util.HashMap;
import java.util.List;
import java.util.Map;


/**
* @Author: Zhozh
* @Description: 会员联系人信息表
* @DateTime: 2022/5/30
* @Params:
* @Return
*/
@TableName(" el_mem_linkman_info")
public class MemLinkmanInfo implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
    * 会员联系人信息编号
    */
    @TableId("mem_linkman_info_no")
    private String memLinkmanInfoNo;

    /**
    * 信息审核状态
    */
    private String infsubAuditStatusCode;

    /**
    * 机构用户编号
    */
    private String orgUserNo;

    /**
    * 会员联系人信息录入时间
    */
    private String infoInputTime;

    /**
    * 会员联系人信息更新时间
    */
    private String infoUpdateTime;

    /**
    * 会员联系人信息联系人姓名
    */
    private String linkmanName;

    /**
    * 会员联系人信息联系人职务
    */
    private String linkmanDutyName;

    /**
    * 联系人电话
    */
    private String linkmanTel;

    /**
    * 会员联系人信息联系人移动电话
    */
    private String linkmanMob;

    /**
    * 会员联系人信息联系人传真
    */
    private String linkmanFax;

    /**
    * 会员联系人信息联系人电子邮箱
    */
    private String linkmanEml;

    /**
    * 联系人邮编
    */
    private String linkmanZipCode;

    /**
    * 联系人通信地址
    */
    private String linkmanContactAddr;

    /**
    * 联系人信息录入人
    */
    private String infoInputPsnNo;

    /**
    * 联系人信息更新人
    */
    private String infoUpdatePsnNo;

    /**
    * 联系人类型
    */
    private String linkmanTypeCode;

    /**
    * 联系人部门
    */
    private String linkmanDeptName;

    /**
    * 是否是关闭状态（1：是 0：否）
    */
    private String isCloseStatus;

    @TableField(exist = false)
    private List<AuditLog> auditLogList;


    public List<AuditLog> getAuditLogList() {
        return auditLogList;
    }

    public void setAuditLogList(List<AuditLog> auditLogList) {
        this.auditLogList = auditLogList;
    }

    @TableField(exist = false)
    private List<MemInfoChgHist> histList;

    public List<MemInfoChgHist> getHistList() {
        return histList;
    }

    public void setHistList(List<MemInfoChgHist> histList) {
        this.histList = histList;
    }

    public MemLinkmanInfo() {
    }

    public String getMemLinkmanInfoNo() {
        return memLinkmanInfoNo;
    }

    public void setMemLinkmanInfoNo(String memLinkmanInfoNo) {
        this.memLinkmanInfoNo = memLinkmanInfoNo;
    }

    public String getInfsubAuditStatusCode() {
        return infsubAuditStatusCode;
    }

    public void setInfsubAuditStatusCode(String infsubAuditStatusCode) {
        this.infsubAuditStatusCode = infsubAuditStatusCode;
    }

    public String getOrgUserNo() {
        return orgUserNo;
    }

    public void setOrgUserNo(String orgUserNo) {
        this.orgUserNo = orgUserNo;
    }

    public String getInfoInputTime() {
        return infoInputTime;
    }

    public void setInfoInputTime(String infoInputTime) {
        this.infoInputTime = infoInputTime;
    }

    public String getInfoUpdateTime() {
        return infoUpdateTime;
    }

    public void setInfoUpdateTime(String infoUpdateTime) {
        this.infoUpdateTime = infoUpdateTime;
    }

    public String getLinkmanName() {
        return linkmanName;
    }

    public void setLinkmanName(String linkmanName) {
        this.linkmanName = linkmanName;
    }

    public String getLinkmanDutyName() {
        return linkmanDutyName;
    }

    public void setLinkmanDutyName(String linkmanDutyName) {
        this.linkmanDutyName = linkmanDutyName;
    }

    public String getLinkmanTel() {
        return linkmanTel;
    }

    public void setLinkmanTel(String linkmanTel) {
        this.linkmanTel = linkmanTel;
    }

    public String getLinkmanMob() {
        return linkmanMob;
    }

    public void setLinkmanMob(String linkmanMob) {
        this.linkmanMob = linkmanMob;
    }

    public String getLinkmanFax() {
        return linkmanFax;
    }

    public void setLinkmanFax(String linkmanFax) {
        this.linkmanFax = linkmanFax;
    }

    public String getLinkmanEml() {
        return linkmanEml;
    }

    public void setLinkmanEml(String linkmanEml) {
        this.linkmanEml = linkmanEml;
    }

    public String getLinkmanZipCode() {
        return linkmanZipCode;
    }

    public void setLinkmanZipCode(String linkmanZipCode) {
        this.linkmanZipCode = linkmanZipCode;
    }

    public String getLinkmanContactAddr() {
        return linkmanContactAddr;
    }

    public void setLinkmanContactAddr(String linkmanContactAddr) {
        this.linkmanContactAddr = linkmanContactAddr;
    }

    public String getInfoInputPsnNo() {
        return infoInputPsnNo;
    }

    public void setInfoInputPsnNo(String infoInputPsnNo) {
        this.infoInputPsnNo = infoInputPsnNo;
    }

    public String getInfoUpdatePsnNo() {
        return infoUpdatePsnNo;
    }

    public void setInfoUpdatePsnNo(String infoUpdatePsnNo) {
        this.infoUpdatePsnNo = infoUpdatePsnNo;
    }

    public String getLinkmanTypeCode() {
        return linkmanTypeCode;
    }

    public void setLinkmanTypeCode(String linkmanTypeCode) {
        this.linkmanTypeCode = linkmanTypeCode;
    }

    public String getLinkmanDeptName() {
        return linkmanDeptName;
    }

    public void setLinkmanDeptName(String linkmanDeptName) {
        this.linkmanDeptName = linkmanDeptName;
    }

    public String getIsCloseStatus() {
        return isCloseStatus;
    }

    public void setIsCloseStatus(String isCloseStatus) {
        this.isCloseStatus = isCloseStatus;
    }

    @Transient
    @JsonInclude(JsonInclude.Include.NON_NULL)
    @TableField(exist = false)
    private Map<String, Object> dictNameResult = new HashMap<String, Object>();

    public Map<String, Object> getDictNameResult() {
        return dictNameResult;
    }

    public void setDictNameResult(Map<String, Object> dictNameResult) {
        this.dictNameResult = dictNameResult;
    }

    //数据字典
    @Transient
    @JsonInclude(JsonInclude.Include.NON_NULL)
    public String[] buildIncludeField(){
        return new String[]{"infsubAuditStatusCode","linkmanTypeCode","auditLogList"};
    }

    /*数据字典*/
    @Transient
    @JsonInclude(JsonInclude.Include.NON_NULL)
    public String[] buildIncludeType(){
        return new String[]{"DG0149","DG0328","LIST"};
    }
}